diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index 5b28d3d..21b7df4 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -111,6 +111,7 @@
 		}
 
 		$form = '';
+		
 		foreach ($name as $name => $value)
 		{
 			$form .= '<input type="hidden" name="'.$name.'" value="'.form_prep($value).'" />';
@@ -137,7 +138,7 @@
 	{
 		$defaults = array('type' => 'text', 'name' => (( ! is_array($data)) ? $data : ''), 'value' => $value);
 
-		return "<input ".parse_form_attributes($data, $defaults).$extra." />\n";
+		return "<input ".parse_form_attributes($data, $defaults).$extra." />";
 	}
 }
 	
@@ -222,7 +223,7 @@
 			unset($data['value']); // textareas don't use the value attribute
 		}
 		
-		return "<textarea ".parse_form_attributes($data, $defaults).$extra.">".$val."</textarea>\n";
+		return "<textarea ".parse_form_attributes($data, $defaults).$extra.">".$val."</textarea>";
 	}
 }
 	
@@ -302,11 +303,15 @@
 		}
 	
 		if ($checked == TRUE)
+		{
 			$defaults['checked'] = 'checked';
+		}
 		else
+		{
 			unset($defaults['checked']);
+		}
 
-		return "<input ".parse_form_attributes($data, $defaults).$extra." />\n";
+		return "<input ".parse_form_attributes($data, $defaults).$extra." />";
 	}
 }
 	
@@ -353,7 +358,7 @@
 	{
 		$defaults = array('type' => 'submit', 'name' => (( ! is_array($data)) ? $data : ''), 'value' => $value);
 
-		return "<input ".parse_form_attributes($data, $defaults).$extra." />\n";
+		return "<input ".parse_form_attributes($data, $defaults).$extra." />";
 	}
 }
 
@@ -374,7 +379,7 @@
 	{
 		$defaults = array('type' => 'reset', 'name' => (( ! is_array($data)) ? $data : ''), 'value' => $value);
 
-		return "<input ".parse_form_attributes($data, $defaults).$extra." />\n";
+		return "<input ".parse_form_attributes($data, $defaults).$extra." />";
 	}
 }
 
@@ -401,7 +406,7 @@
 			unset($data['content']); // content is not an attribute
 		}
 		
-		return "<button ".parse_form_attributes($data, $defaults).$extra.">".$content."</button>\n";
+		return "<button ".parse_form_attributes($data, $defaults).$extra.">".$content."</button>";
 	}
 }
 
@@ -486,7 +491,7 @@
 {
 	function form_fieldset_close($extra = '')
 	{
-		return "</fieldset>\n".$extra;
+		return "</fieldset>".$extra;
 	}
 }
 	
@@ -503,7 +508,7 @@
 {
 	function form_close($extra = '')
 	{
-		return "</form>\n".$extra;
+		return "</form>".$extra;
 	}
 }
 	
diff --git a/system/helpers/html_helper.php b/system/helpers/html_helper.php
index 7a61055..c3f0fbc 100644
--- a/system/helpers/html_helper.php
+++ b/system/helpers/html_helper.php
@@ -274,7 +274,7 @@
 				}
 			}
 			
-			$link .= "/>\n";
+			$link .= "/>";
 		}
 		else
 		{
@@ -303,7 +303,7 @@
 				$link .= 'title="'.$title.'" ';
 			}
 			
-			$link .= '/>'."\n";
+			$link .= '/>'."";
 		}
 
 	
